In this context, the data of the video sequence comprising the encoded images of the video are transmitted progressively from a remote server, via a network, to a “client” machine, in order to be displayed after decoding. This application is relative to “video streaming” applications.
“Video streaming” is a technique which makes it possible to transmit and display a video sequence in real time, i.e. without requiring the prior downloading of a video file before viewing it.
Different systems are known for display of a video sequence during spatial navigation in the images of that video sequence which is transmitted over a network.
These display systems are dependent on the response speed of the network. Thus, if the performance of the network is reduced, the reactivity of the system is low.
For example, when the user navigates within the images of a video sequence while performing, for example, zooming or panning operations, a navigation request reflecting the user's operation is transmitted to the server in order for it to be processed.
In response, the server again encodes the data of the images of the video sequence to be transmitted to that user, the encoding of the images of the video sequence having to be made taking into account the requested spatial navigation.
If the performance of the network is poor, the reactivity of the system is poor, which causes jerky or interrupted display of the re-encoded video sequence.
Consequently, according to this technique, in order to produce the spatial navigation requested by the user, the client machine sends a request for change comprising the parameters of spatial navigation to the server, the latter performs the recoding of the data of the video and re-sends the new encoded data to the client machine for them to be displayed. In this way, the system is dependent on the lags in transmission of the request and on the transfer time of the result of the request that are due to the performance of the network.
The following systems used for performing video streaming are also known: RealOne, Windows Media and Quick Time.
According to these systems, before streaming a video, the video sequence is encoded beforehand on the server from a video and audio file format, for example MPEG2, MPEG4, DIVX, into a file of format dedicated to video streaming. After this encoding, the video sequence is sent to one or more clients.
However, as these video sequences are encoded beforehand, it is no longer possible to perform the spatial navigation operations in the images of the video sequence, such as zooming and panning operations, when a video is in course of display.
This is because the video formats used in the aforementioned products do not permit spatial navigation in the video sequence.
Document U.S. Pat. No. 6,698,021 describes, furthermore, a control system for video surveillance cameras using a mechanism of video streaming.
According to this system, the user remotely controls a surveillance camera via an Internet browser. A graphical interface enables operations to be performed of zooming and of panning according to the rotational axes of the camera. The instructions from the user are sent to the camera in order then to be converted into the form of actions controlling the zoom of the camera or the motors of the device of the camera to perform the rotation of the camera about its rotational axes.
The term PTZ (“Pan/Tilt Zoom Camera”) is then employed. These surveillance cameras, of which the zooming and panning operations are performed electronically, require a costly mechanical system with respect to a standard camera.
Furthermore, due to its type of operation, the PTZ system is constrained by the lag time of the network. More particularly, this time is dependent on the sending of the commands requested by the user to the camera then the reception of the images. Thus, to view a change on screen, a relatively long time is necessary.